/**
 * [414] 第三大的数
 *
 * @format
 * @lc app=leetcode.cn id=414 lang=javascript
 */

// @lc code=start
/**
 * @param {number[]} nums
 * @return {number}
 */

var thirdMax = function (nums) {
    nums.sort((a, b) => a - b)
    let index = nums.length - 1
    let count = 1
    while (count < 3 && index > 0) {
        nums[index] == nums[index - 1] ? index-- : (index--, count++)
    }
    return count == 3 ? nums[index] : nums[nums.length - 1]
}

// var thirdMax = function (nums) {
//     nums = [...new Set(nums)].sort((a, b) => a - b)
//     return nums.length < 3 ? nums[nums.length - 1] : nums[nums.length - 3]
// }
// debugger
// console.log(
//     thirdMax([
//         3, 2, 3, 1, 2, 4, 5, 5, 6, 7, 7, 8, 2, 3, 1, 1, 1, 10, 11, 5, 6, 2, 4,
//         7, 8, 5, 6
//     ])
// )
// @lc code=end
